/**
 * Copyright (c) 2018-2019, Jie Li 李杰 (mqgnsds@163.com).
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.momo.momopermissiongateway.web;

import com.momo.common.core.common.JSONResult;
import com.momo.momopermissiongateway.res.RouteRes;
import com.momo.momopermissiongateway.router.DynamicRouteMap;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.gateway.config.GatewayProperties;
import org.springframework.cloud.gateway.route.RouteDefinition;
import org.springframework.web.bind.annotation.*;

import java.util.Map;


/**
 * @ClassName: RedisRouteDefinitionController
 * @Author: Jie Li
 * @Date 2019-11-14 16:44
 * @Description: 动态路由控制器
 * @Version: 1.0
 * <p>Copyright: Copyright (c) 2019</p>
 **/
@RestController
@RequestMapping(value = "/gateway/router", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
@Slf4j
public class RedisRouteDefinitionController {

    //获取配置文件中的路由参数
    @Autowired
    private GatewayProperties properties;
    private Map<String, RouteDefinition> routeMap = DynamicRouteMap.ROUTEMAP;

    //查看本地map所有路由信息
    @PostMapping("/getRouteAll")
    public JSONResult routeAll() {

        return JSONResult.ok(DynamicRouteMap.routeList());
    }

    //查看路由信息
    @PostMapping("/getRouteInfo")
    public JSONResult getRouteInfo(@RequestBody RouteRes routeRes) {
        Object obj = DynamicRouteMap.get(routeRes.getId());
        return JSONResult.ok(obj);
    }

}
